package com.ruoyi.fee.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 费用类型配置对象 property_fee_type
 * 
 * @author ruoyi
 * @date 2025-10-27
 */
public class PropertyFeeType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 类型ID */
    private Long typeId;

    /** 所属物业 */
    @Excel(name = "所属物业")
    private Long companyId;

    /** 费用名称 */
    @Excel(name = "费用名称")
    private String typeName;

    /** 计费规则：AREA(按面积)/FIXED(固定)/PARKING(车位) */
    @Excel(name = "计费规则：AREA(按面积)/FIXED(固定)/PARKING(车位)")
    private String chargeRule;

    /** 单价（元） */
    @Excel(name = "单价", readConverterExp = "元=")
    private BigDecimal unitPrice;

    /** 周期：MONTH/QUARTER/YEAR */
    @Excel(name = "周期：MONTH/QUARTER/YEAR")
    private String cycle;

    /** 是否默认 */
    @Excel(name = "是否默认")
    private Integer isDefault;

    public void setTypeId(Long typeId) 
    {
        this.typeId = typeId;
    }

    public Long getTypeId() 
    {
        return typeId;
    }

    public void setCompanyId(Long companyId) 
    {
        this.companyId = companyId;
    }

    public Long getCompanyId() 
    {
        return companyId;
    }

    public void setTypeName(String typeName) 
    {
        this.typeName = typeName;
    }

    public String getTypeName() 
    {
        return typeName;
    }

    public void setChargeRule(String chargeRule) 
    {
        this.chargeRule = chargeRule;
    }

    public String getChargeRule() 
    {
        return chargeRule;
    }

    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }

    public void setCycle(String cycle) 
    {
        this.cycle = cycle;
    }

    public String getCycle() 
    {
        return cycle;
    }

    public void setIsDefault(Integer isDefault) 
    {
        this.isDefault = isDefault;
    }

    public Integer getIsDefault() 
    {
        return isDefault;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("typeId", getTypeId())
            .append("companyId", getCompanyId())
            .append("typeName", getTypeName())
            .append("chargeRule", getChargeRule())
            .append("unitPrice", getUnitPrice())
            .append("cycle", getCycle())
            .append("isDefault", getIsDefault())
            .toString();
    }
}
